// 1.导入Http模块
const http = require('http')

// 2.创建一个server，供我使用
const server = http.createServer()

// 3.为服务器绑定request事件，监听客户端请求
/**
 * (1) 只要客户端发起请求，服务器就会绑定request事件
 *     可以通过req对象获取客户端的数据，比如url、method
 *     注意：1.正常是127.0.0.1:8080，如果想在后面修改地址，必须在后面加，端口不能省
 *             127.0.0.1:8080/index.html
 *          2.正常URL指的是端口号后面的地址，这里就是index.html
 * (2) 注意这里这几个步骤都是以服务器为主体的：服务器被创建、服务器绑定事件、服务器开启端口号
*/
server.on('request',(req,res)=>{

   console.log('someone visit the server!');

   // 英文不会乱码，因为默认就是英文的
   const str1 = `The request URL is ${req.url},the request method is ${req.method}`
   // 中文会乱码，需要编码
   const str2 = `请求的地址为：${req.url},请求的方法为： ${req.method}`

   console.log(str1+str2);

   // (4) 为了防止客户端乱码，要在响应头上设置编码格式 ，即内容类型为文本，且文本时utf-8格式
   res.setHeader('Content-Type','text/html;charset=utf-8')

   // (3) 向客户端发送响应数据，并结束请求(你要的全拿走，拿走我就关)
   res.end(str1+str2)  
})

// 4.启动服务器
server.listen(8080,()=>{
   console.log('The server is running at http://127.0.0.1:8080');
})

/**
 * 只要有人访问http://127.0.0.1:8080，那么就会打印 someone visit the server!
*/